Interactive Verification of Concurrent Systems using Symbolic Execution
نویسندگان
چکیده
This paper presents an interactive proof method for the verification of temporal properties of concurrent systems based on symbolic execution. Symbolic execution is a well known and very intuitive strategy for the verification of sequential programs. We have carried over this approach to the interactive verification of arbitrary linear temporal logic properties of (infinite state) parallel programs. The resulting proof method is very intuitive to apply and can be automated to a large extent. It smoothly combines first order reasoning with reasoning in temporal logic. The proof method has been implemented in the interactive verification environment KIV and has been used in several case studies.
منابع مشابه
Verifying concurrent systems with symbolic execution: temporal reasoning is symbolic execution with a little induction
Symbolic execution is an intuitive strategy to verify sequential programs, which can be automated to a large extent. We have successfully carried over this method of proof to the interactive verification of concurrent systems. The resulting strategy can be applied to the verification of complex parallel programs and arbitrary (linear) temporal formulas. Our underlying logic is defined such that...
متن کاملVerifying Concurrent Systems with Symbolic Execution
Current techniques for interactively proving temporal properties of concurrent systems translate transition systems into temporal formulas by introducing program counter variables. Proofs are not intuitive, because control flow is not explicitly considered. For sequential programs symbolic execution is a very intuitive, interactive proof strategy. In this paper we will adopt this technique for ...
متن کاملThe Symbolic Execution Debugger: a Productivity Tool for Java Based on Eclipse and KeY
We present the Symbolic Execution Debugger (SED), an extension of the Eclipse debug platform for interactive symbolic execution. Being based on symbolic execution, its functionality goes beyond that of traditional interactive debuggers. For instance, debugging can start directly at any method or statement and all program execution paths are explored simultaneously. To support program comprehens...
متن کاملA Dynamic Logic for Deductive Verification of Concurrent Java Programs With Condition Variables
In this paper, we present an approach aiming at full functional deductive verification of concurrent Java programs, based on symbolic execution. We define a Dynamic Logic and a deductive verification calculus for a restricted fragment of Java with native concurrency primitives. Even though we cannot yet deal with non-atomic loops, employing the technique of symmetry reduction allows us to verif...
متن کاملSynergies among Testing, Verification, and Repair for Concurrent Programs (Dagstuhl Seminar 16201)
This report documents the program and the outcomes of Dagstuhl Seminar 16201 “Synergies among Testing, Verification, and Repair for Concurrent Programs”. This seminar builds upon, and is inspired by, several past seminars on program testing, verification, repair and combinations thereof. These include Dagstuhl Seminar 13021 “Symbolic Methods in Testing”; Dagstuhl Seminar 13061 “Fault Prediction...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- AI Commun.
دوره 23 شماره
صفحات -
تاریخ انتشار 2008